const http = require('../../../utils/https.js');
Page({
    data: {
        // 当前激活 tab 的索引
        active: 0,

        cartData: [], // 购物车详细数据
        cartCount: 0, // 购物车商品数量（动态更新）
        cartIconSize: '50rpx', // 图标基础大小
        cartIconColor: '#333', // 图标基础颜色
        timeData: {},
         // 添加一个专门用于格式化剩余时间的对象
         formattedTime: {
             days: '00',
             hours: '00',
             minutes: '00',
             seconds: '00'
         },
        loading: false,

        // 分类数据
        categories: [],
        // 商品数据列表
        requestProduct: []
    },

    onLoad() {
        // 初始化购物车数据
        this.initCartData();

        // 获取分类数据
        this.getCategories();
    },

    // 初始化购物车数据
    initCartData() {
        try {
            const cart = wx.getStorageSync('cart');
            if (Array.isArray(cart)) {
                this.setData({
                    cartData: cart,
                    cartCount: this.calculateCartCount(cart)
                });
            } else {
                this.setData({
                    cartData: [],
                    cartCount: 0
                });
                wx.setStorageSync('cart', []);
            }
        } catch (e) {
            console.error('读取购物车缓存失败:', e);
            this.setData({
                cartData: [],
                cartCount: 0
            });
        }
    },

    // 计算购物车商品总数
    calculateCartCount(cart) {
        return cart.reduce((total, item) => total + (item.count || 0), 0);
    },

    // 获取分类数据
    getCategories() {
        this.setData({
            loading: true
        });

        http.GET(
            '/product/productCategory/fatherList', {},
            (res) => {
                this.setData({
                    loading: false
                });

                if (res.code === 200 && Array.isArray(res.rows)) {
                    this.setData({
                        categories: res.rows
                    });

                    // 如果有分类数据，默认加载第一个分类的商品
                    if (res.rows.length > 0) {
                        this.getProductsByCategory(res.rows[0].id);
                    }
                } else {
                    wx.showToast({
                        title: '分类数据获取失败',
                        icon: 'none'
                    });
                    console.error('分类数据获取失败:', res);
                }
            },
            (err) => {
                this.setData({
                    loading: false
                });
                wx.showToast({
                    title: '网络请求失败',
                    icon: 'none'
                });
                console.error('分类请求错误:', err);
            }
        );
    },

    // 根据分类ID获取商品列表
    getProductsByCategory(fatherCategoryId) {
        this.setData({
            loading: true,
            requestProduct: [] // 清空当前商品列表，准备加载新数据
        });

        http.GET(
            '/activity/activitygroup/list', {
                fatherCategoryId: fatherCategoryId
            }, // 传递父分类ID参数
            (res) => {
                this.setData({
                    loading: false
                });

                if (res.code === 200 && Array.isArray(res.rows)) {
                    // 处理商品数据，统一字段格式
                    const products = res.rows.map(item => {
                        // 计算剩余时间（毫秒）
                      const endTime = new Date(item.endTime).getTime();
                      const now = new Date().getTime();
                      // 确保剩余时间不为负数
                      const remainingTime = Math.max(endTime - now, 0);

                        return {
                            id: item.id,
                            productId: item.productId,
                            name: item.product?.name || '',
                            desc: item.product?.subtitle || '',
                            price: item.groupPrice || 0, // 团购价
                            originPrice: item.product?.price || 0, // 原价
                            image: item.product?.mainImage || '',
                            count: item.count || 0, // 已团数量
                            minSize: item.minSize || 0, // 成团人数
                              remainingTime: remainingTime,
                            fatherCategoryId: item.product?.fatherCategoryId || 0
                        };
                    });

                    this.setData({
                       requestProduct: products
                    });
                } else {
                    wx.showToast({
                        title: '团购商品数据获取失败',
                        icon: 'none'
                    });
                    console.error('团购商品数据获取失败:', res);
                }
            },
            (err) => {
                this.setData({
                    loading: false
                });
                wx.showToast({
                    title: '网络请求失败',
                    icon: 'none'
                });
                console.error('团购商品请求错误:', err);
            }
        );
    },

  onChange(e) {
      const {
          days,
          hours,
          minutes,
          seconds
      } = e.detail;

      // 格式化天数，确保显示正确
      const formattedDays = days > 0 ? days : '0';
      // 格式化其他时间单位为两位数
      const formattedHours = hours.toString().padStart(2, '0');
      const formattedMinutes = minutes.toString().padStart(2, '0');
      const formattedSeconds = seconds.toString().padStart(2, '0');

      this.setData({
          timeData: e.detail,
          formattedTime: {
              days: formattedDays,
              hours: formattedHours,
              minutes: formattedMinutes,
              seconds: formattedSeconds
          }
      });
  },

    // 切换分类标签
    onTabChange(e) {
        const index = e.detail.index;
        const categories = this.data.categories;

        if (categories.length > index) {
            const fatherCategoryId = categories[index].id;
            this.setData({
                active: index
            });
            // 根据分类ID加载对应商品
            this.getProductsByCategory(fatherCategoryId);
        }
    },

    goToDetail(e) {
        const id = e.currentTarget.dataset.id;
        if (id) {
            wx.navigateTo({
                url: `/wqfGroupBuying/pages/wqfGroupBuyingGoodsDetails/wqfGroupBuyingGoodsDetails?id=${id}`
            });
        }
    },

    // 加入购物车事件
    addToCart(e) {
        const goods = e.currentTarget.dataset.item;
        if (!goods || !goods.id) return;

        // 深拷贝购物车数据
        const newCart = JSON.parse(JSON.stringify(this.data.cartData));
        const existingItemIndex = newCart.findIndex(item => item.id === goods.id);

        if (existingItemIndex > -1) {
            // 商品已存在，累加数量
            newCart[existingItemIndex].count = (newCart[existingItemIndex].count || 1) + 1;
        } else {
            // 新增商品
            newCart.push({
                ...goods,
                count: 1 // 初始数量为1
            });
        }

        // 更新本地缓存和页面数据
        try {
            wx.setStorageSync('cart', newCart);
            const totalCount = this.calculateCartCount(newCart);
            this.setData({
                cartData: newCart,
                cartCount: totalCount
            });

            // 显示添加成功提示
            wx.showToast({
                title: '已加入购物车',
                icon: 'success',
                duration: 1000
            });
        } catch (e) {
            console.error('更新购物车缓存失败:', e);
            wx.showToast({
                title: '添加失败，请重试',
                icon: 'none'
            });
        }
    },

    // 点击购物车跳转
    goToCart() {
        wx.navigateTo({
            url: '/pages/cart/index'
        });
    }
});